#ifndef URLNORMALIZER_H_
#define URLNORMALIZER_H_


#include <iostream>
#include <vector>
#include <list>
#include "URL.h"

class URLNormalizer {
public:
	URLNormalizer();
	URL normalize(const std::string);
	std::list<URL> normalize(const std::list<std::string>);
	
private:
	inline void toLower(std::string &);
	inline void addTrailing(std::string &);
	inline void removeTrailing(std::string &);
	inline void removeDirectoryIndexes(std::string &);
	inline void capitalizeEscapeSequences(std::string &);
	inline void removeFragmentAndQuestionMark(std::string &);
	inline void removeDefaultPort(std::string &);
	inline void removeDotSegments(std::string &);
	inline void sobeDiretorio(std::string &);
	inline std::string getProtocol (std::string &);
	
	std::vector<std::string> defaultDirectoryIndexes;
};

#endif /*URLNORMALIZER_H_*/
